This relates to communication networks, and more particularly, to communications networks having network switches that are controlled by a controller.
Packet-based networks such as the internet and local data networks that are connected to the internet include network switches. Network switches are used in forwarding packets from packet sources to packet destinations. The packets may be sometimes referred to as frames.
It can be difficult or impossible to control the switches of one vendor using the equipment of another vendor. This is because the switch equipment of one vendor may use a different operating system and set of control procedures than the switch equipment of another vendor. To address the challenges associated with controlling different types of switch platforms, cross-platform protocols have been developed. These protocols allow centralized control of otherwise incompatible switches.
Cross-platform controller clients can be included on the switches in a network. The controller clients are able to communicate with a corresponding controller server over network paths. Because the controller clients can be implemented on a variety of switch hardware, it is possible for a single controller to control switch equipment that might otherwise be incompatible.
Networks such as those that comprise the Internet typically have core portions including core routers and aggregation routers that serve to route network traffic between peripheral portions of the networks. The peripheral portions of a network include smaller networks to which end hosts are connected. Core routers and aggregation routers often are required to handle large volumes of network traffic that are generated by the peripheral portions of the network. For example, a given core router may be required to handle network traffic from hundreds, thousands, or more end hosts of the peripheral portions of the network. The core routers and aggregation routers are often implemented on expensive and complex network equipment in order to provide sufficient processing and switching capabilities for routing large volumes of network traffic. It may also be challenging for the core routers to make optimal routing decisions, because each core router may have a limited view of the entire network. It may therefore be desirable to provide networks with improved routing capabilities.